\hypertarget{_l_u_f_a_descriptors_8h}{\section{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Descriptors.h File Reference}
\label{_l_u_f_a_descriptors_8h}\index{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Descriptors.\-h@{C\-:/\-Dokumente und Einstellungen/skuser/\-Eigene Dateien/\-Chameleon-\/\-Mini-\/\-Git\-Hub/\-Chameleon-\/\-Mini-\/\-Open\-Source/\-Firmware/\-Chameleon-\/\-Mini/\-L\-U\-F\-A\-Descriptors.\-h}}
}
{\ttfamily \#include $<$avr/pgmspace.\-h$>$}\\*
{\ttfamily \#include $<$L\-U\-F\-A/\-Drivers/\-U\-S\-B/\-U\-S\-B.\-h$>$}\\*
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_u_s_b___descriptor___configuration__t}{U\-S\-B\-\_\-\-Descriptor\-\_\-\-Configuration\-\_\-t}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{_l_u_f_a_descriptors_8h_a375d8befdd497fa6548ed0f72cb0d85d}{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R}~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-I\-N  $|$ 2)
\item 
\#define \hyperlink{_l_u_f_a_descriptors_8h_a2114400269fd643e0e3b597df6a8930d}{C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R}~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-I\-N  $|$ 3)
\item 
\#define \hyperlink{_l_u_f_a_descriptors_8h_a5051b28e57390b0072358e2dc602083e}{C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R}~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-O\-U\-T $|$ 4)
\item 
\#define \hyperlink{_l_u_f_a_descriptors_8h_a1cfffa25431375dde9c6c880212f43b6}{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E}~8
\item 
\#define \hyperlink{_l_u_f_a_descriptors_8h_aef7fa1919196a302fd0f8b1079e008be}{C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E}~16
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
uint16\-\_\-t \hyperlink{_l_u_f_a_descriptors_8h_a205665735698917df77439b51d372e64}{C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor} (const uint16\-\_\-t w\-Value, const uint8\-\_\-t w\-Index, const void $\ast$$\ast$const Descriptor\-Address) A\-T\-T\-R\-\_\-\-W\-A\-R\-N\-\_\-\-U\-N\-U\-S\-E\-D\-\_\-\-R\-E\-S\-U\-L\-T A\-T\-T\-R\-\_\-\-N\-O\-N\-\_\-\-N\-U\-L\-L\-\_\-\-P\-T\-R\-\_\-\-A\-R\-G(3)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Header file for Descriptors.\-c. 

\subsection{Macro Definition Documentation}
\hypertarget{_l_u_f_a_descriptors_8h_a375d8befdd497fa6548ed0f72cb0d85d}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R}}
\index{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-A\-D\-D\-R~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-I\-N  $|$ 2)}}\label{_l_u_f_a_descriptors_8h_a375d8befdd497fa6548ed0f72cb0d85d}
Endpoint address of the C\-D\-C device-\/to-\/host notification I\-N endpoint. \hypertarget{_l_u_f_a_descriptors_8h_a1cfffa25431375dde9c6c880212f43b6}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E@{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E}}
\index{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E@{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-D\-C\-\_\-\-N\-O\-T\-I\-F\-I\-C\-A\-T\-I\-O\-N\-\_\-\-E\-P\-S\-I\-Z\-E~8}}\label{_l_u_f_a_descriptors_8h_a1cfffa25431375dde9c6c880212f43b6}
Size in bytes of the C\-D\-C device-\/to-\/host notification I\-N endpoint. \hypertarget{_l_u_f_a_descriptors_8h_a5051b28e57390b0072358e2dc602083e}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R}}
\index{C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-D\-C\-\_\-\-R\-X\-\_\-\-E\-P\-A\-D\-D\-R~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-O\-U\-T $|$ 4)}}\label{_l_u_f_a_descriptors_8h_a5051b28e57390b0072358e2dc602083e}
Endpoint address of the C\-D\-C host-\/to-\/device data O\-U\-T endpoint. \hypertarget{_l_u_f_a_descriptors_8h_a2114400269fd643e0e3b597df6a8930d}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R}}
\index{C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R@{C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-D\-C\-\_\-\-T\-X\-\_\-\-E\-P\-A\-D\-D\-R~(E\-N\-D\-P\-O\-I\-N\-T\-\_\-\-D\-I\-R\-\_\-\-I\-N  $|$ 3)}}\label{_l_u_f_a_descriptors_8h_a2114400269fd643e0e3b597df6a8930d}
Endpoint address of the C\-D\-C device-\/to-\/host data I\-N endpoint. \hypertarget{_l_u_f_a_descriptors_8h_aef7fa1919196a302fd0f8b1079e008be}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E@{C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E}}
\index{C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E@{C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\-D\-C\-\_\-\-T\-X\-R\-X\-\_\-\-E\-P\-S\-I\-Z\-E~16}}\label{_l_u_f_a_descriptors_8h_aef7fa1919196a302fd0f8b1079e008be}
Size in bytes of the C\-D\-C data I\-N and O\-U\-T endpoints. 

\subsection{Function Documentation}
\hypertarget{_l_u_f_a_descriptors_8h_a205665735698917df77439b51d372e64}{\index{L\-U\-F\-A\-Descriptors.\-h@{L\-U\-F\-A\-Descriptors.\-h}!C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor@{C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor}}
\index{C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor@{C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor}!LUFADescriptors.h@{L\-U\-F\-A\-Descriptors.\-h}}
\subsubsection[{C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor}]{\setlength{\rightskip}{0pt plus 5cm}uint16\-\_\-t C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-U\-S\-B\-\_\-\-Get\-Descriptor (
\begin{DoxyParamCaption}
\item[{const uint16\-\_\-t}]{w\-Value, }
\item[{const uint8\-\_\-t}]{w\-Index, }
\item[{const void $\ast$$\ast$const}]{Descriptor\-Address}
\end{DoxyParamCaption}
)}}\label{_l_u_f_a_descriptors_8h_a205665735698917df77439b51d372e64}
This function is called by the library when in device mode, and must be overridden (see library \char`\"{}\-U\-S\-B Descriptors\char`\"{} documentation) by the application code so that the address and size of a requested descriptor can be given to the U\-S\-B library. When the device receives a Get Descriptor request on the control endpoint, this function is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the U\-S\-B host. 